Professor: Allan da Silva Disciplina: Banco de Dados
Ao final da aula o aluno será capaz de:
Navegador ↓ Adminer (porta 8080) ↓ Rede Docker (aula_network) ↓ MySQL (3306) PostgreSQL (5432)
Docker Compose permite:
Comando principal:
docker compose up -d
version: '3.9' services: mysql: image: mysql:8.0 container_name: aula_mysql restart: always environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: escola MYSQL_USER: aluno MYSQL_PASSWORD: aluno123 ports: - "3306:3306" volumes: - mysql_data:/var/lib/mysql networks: - aula_network postgres: image: postgres:15 container_name: aula_postgres restart: always environment: POSTGRES_DB: escola POSTGRES_USER: aluno POSTGRES_PASSWORD: aluno123 ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data networks: - aula_network adminer: image: adminer container_name: aula_adminer restart: always ports: - "8080:8080" networks: - aula_network volumes: mysql_data: postgres_data: networks: aula_network: driver: bridge
Define os containers que serão criados
Imagem oficial do Docker Hub
Variáveis de ambiente (configuração do banco)
Mapeamento → porta_host:porta_container
porta_host:porta_container
Persistência de dados
Comunicação entre containers
Abra no navegador:
http://localhost:8080
Dentro do Adminer:
NÃO usar localhost Usar o nome do serviço (mysql ou postgres)
localhost
mysql
postgres
Porque os containers se comunicam pela rede interna.
alunos
docker compose down
Para remover volumes:
docker compose down -v
Hoje aprendemos: